[IA64] support XEN_DOMCTL_[gs]et_address_size
authorIsaku Yamahata <yamahata@valinux.co.jp>
Wed, 28 Jan 2009 03:22:58 +0000 (12:22 +0900)
committerIsaku Yamahata <yamahata@valinux.co.jp>
Wed, 28 Jan 2009 03:22:58 +0000 (12:22 +0900)
support XEN_DOMCTL_[gs]et_address_size to support
the updated xm dump-core.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
xen/arch/ia64/xen/dom0_ops.c

index c8f2d8ef74a1281bd8fe12192b5b3973aeb8da43..c2c1ea96e8a0577a5d612833d9c16b8551f0b050 100644 (file)
@@ -649,6 +649,39 @@ long arch_do_domctl(xen_domctl_t *op, XEN_GUEST_HANDLE(xen_domctl_t) u_domctl)
     }
     break;
 
+    case XEN_DOMCTL_set_address_size:
+    {
+        struct domain *d = rcu_lock_domain_by_id(op->domain);
+
+        ret = -ESRCH;
+        if (d == NULL)
+            break;
+
+        ret = -EINVAL;
+        if (op->u.address_size.size == BITS_PER_LONG)
+            ret = 0;
+
+        rcu_unlock_domain(d);
+    }
+    break;
+
+    case XEN_DOMCTL_get_address_size:
+    {
+        struct domain *d = rcu_lock_domain_by_id(op->domain);
+
+        ret = -ESRCH;
+        if (d  == NULL)
+            break;
+
+        ret = 0;
+        op->u.address_size.size = BITS_PER_LONG;
+        rcu_unlock_domain(d);
+
+        if (copy_to_guest(u_domctl, op, 1))
+            ret = -EFAULT;
+    }
+    break;
+
     default:
         printk("arch_do_domctl: unrecognized domctl: %d!!!\n",op->cmd);
         ret = -ENOSYS;